9 //retorna el minimo m para que se mueran todos los k malos antes que algún bueno
18 //ensayar un posible m
20 //Agregar el numero de personas
21 for (short i
=1; i
<=2*k
; i
++)
23 int voyEn
= (posibleM
- 1) % gente
.size();
24 while (gente
.size() > k
){ //Borrar aquí la gente que va muriendo
25 gente
.erase(gente
.begin() + voyEn
);
26 voyEn
= (voyEn
+ posibleM
- 1) % gente
.size();
29 for (int i
=0; i
< gente
.size(); i
++)
30 cout
<< gente
[i
] << " ";
33 /*cout << "ensaye posible M " << posibleM << endl;
34 cout << "y llegue a ";
35 for (int i=0; i < gente.size(); i++)
36 cout << gente[i] << " ";
39 if (gente
[0] == 1 && gente
[k
-1] == k
){
48 int main(int argc
, char *argv
[])
50 //valores generados por fuerza bruta con la función de arriba
51 //for (int i = 1; i < 14; i++) cout << i << " -> " << minimoM(i) << endl;
52 int m
[] = {0, 2, 7, 5, 30, 169, 441, 1872, 7632, 1740, 93313, 459901, 1358657, 2504881};